package cn.edu.zut.internship.iservice.sys;


import cn.edu.zut.internship.bean.sys.Result;
import cn.edu.zut.internship.bean.sys.SysUser;
import cn.edu.zut.internship.entity.AuthSysUser;

import java.util.List;
import java.util.Map;

public interface IUserService {
    /**
     * 根据用户名查询用户认证信息
     * @param username
     * @return
     */
    AuthSysUser findByUserName(String username);

    /**
     * 根据用户账号查询用户信息
     * @param account
     * @return
     */
    SysUser getSysUserByAccount(String account);
    Result findAll(Map params);

    void assignUserRoles(Map user);

    /**
     *根据用户名查询用户权限列表
     * @param username
     * @return
     */
    List<String> getUserPermssions(String username);

    /**
     * 根据用户名查询用户信息
     * @param username
     * @return
     */
    SysUser getSysUserInfo(String username);
    /**
     * 新增用户
     * @param params
     * @return
     */
    Result addUser(Map params);

    /**
     * 删除用户
     * @param params
     * @return
     */
    Result deleteUser(Map params);

    /**
     * 更新用户信息
     * @param params
     * @return
     */
    Result updateUser(Map params);

    /**
     * 获取用户公开信息
     * @param params
     * @return
     */
    Result getUser(Map params);

    /**
     * 获取学生用户的报告填写信息
     * @param params
     * @return
     */
    Result getUserReportInfo(Map params);
}
